package com.zmn.plat.business.interfaces.base.fault;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.model.entity.base.fault.Fault;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 描述: 故障业务类
 *
 * @author chengguang
 * @since 2021/11/25 17:50
 */
public interface FaultBService {

    /**
     * 描述: 根据故障现象查询有效具体故障
     *
     * @param faultPhenIds 故障现象id集合
     * @return ResponseDTO<FaultDRO> 具体故障
     * @author fengxuecai
     * @since 2021/11/24 14:20
     */
    List<Fault> listEfficientFaultByFaultPhenIds(List<Integer> faultPhenIds);

    /**
     * 描述: 修改故障,同步修改关联表数据
     *
     * @param @param fault
     * @return
     * @author chengguang
     * @since 2021/11/25 17:58
     */
    void updateByKey(Fault fault);

    /**
     * 描述: 修改故障状态，同步删除关联表数据
     *
     * @param @param          faultIds
     * @param status          状态
     * @param mcStaffRealName mc员工真实姓名
     * @return
     * @author chengguang
     * @since 2021/11/25 18:01
     */
    void updateStatusBatch(List<Integer> faultIds, Integer status, String mcStaffRealName);

    /**
     * 描述: 导入
     *
     * @param file    模板文件
     * @return
     * @author chengguang
     * @since 2021/11/25 18:01
     */
    ResponseDTO importTemplateFile(MultipartFile file);
}
